package com.sokal.easycare.modules.sys.entity;

import org.hibernate.validator.constraints.Length;

import com.sokal.easycare.common.config.Global;
import com.sokal.easycare.common.persistence.DataEntity;
import com.sokal.easycare.common.utils.StringUtils;

/**
 * 附件库Entity
 * @author 附件库
 * @version 2017-04-09
 */
public class FileLibrary extends DataEntity<FileLibrary> {
	
	private static final long serialVersionUID = 1L;
	private String name;		// name
	private String type;		// type
	private String bId;		// b_id
	private String path;		// path
	private int sort;  //文件显示
	public FileLibrary() {
		super();
	}

	public FileLibrary(String id){
		super(id);
	}

	public FileLibrary(String bId, boolean isOrder){
		super();
		this.bId = bId;
	}

	@Length(min=1, max=200, message="name长度必须介于 1 和 200 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=0, max=3, message="type长度必须介于 0 和 3 之间")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
	@Length(min=0, max=42, message="b_id长度必须介于 0 和 42 之间")
	public String getBId() {
		return bId;
	}

	public void setBId(String bId) {
		this.bId = bId;
	}
	
	@Length(min=1, max=255, message="path长度必须介于 1 和 255 之间")
	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public int getSort() {
		return sort;
	}

	public void setSort(int sort) {
		this.sort = sort;
	}

	/**
	 * 全路径
	 * @author lihaipei
	 * @date 2017年5月23日 下午2:19:40
	 * @return
	 */
	public String getRealPath() {
		if (StringUtils.isNotBlank(path)) {
			path = Global.getConfig("fastdfs_file_url")+path;
		}
		return path;
	}
	
	/**
	 * 创建人
	 * @author lihaipei
	 * @date 2017年5月23日 下午2:19:50
	 * @return
	 */
	public MainUser getCreator() {
		if (createBy != null) {
			if (StringUtils.isNotBlank(createBy.getPortraitPhoto())) {
				if (!createBy.getPortraitPhoto().startsWith("http:")) {
					createBy.setPortraitPhoto(Global.getConfig("fastdfs_file_url")+createBy.getPortraitPhoto());
				}
			}
		}
		return createBy;
	}

}